'use strict';

// 一、基础题
// 1. 已知一个三角形的底为10，高为5，请尝试声明底和高两个变量，并求出这个三角形的面积，在控制台进行打印。
//  提示：三角形的面积=(底*高)/2

    var botton = 10;
    var hight = 5;

    console.log( "三角形的面积为：" +(botton * hight)/2 );

// 2. 请编写一个程序，可以求出1到100之间所有偶数的和，并在控制台打印。
    var sum = 0;    
    for(var i = 1 ; i <= 100 ; i++){       
        if( i % 2 == 0){           
            sum += i;
           
        }else{           
        }       
    }
       
    console.log(sum);


// // // 3. 请使用相关数学函数在1 ~ 10000随机取一个数，并在控制台打印。


function a(n){
    var b="";   
    for(var i=0;i<n;i++){
        b += Math.floor(Math.random()*10000);   
        return b;
}

}
    console.log(a(1));

// // 4. 请声明一个函数，传入参数为绩效分数score，根据如下规则进行判断并返回相关字符串：
// //  90~100：返回 考核等级S，奖励3倍工资
// //  80~89：返回 考核等级A，奖励2倍工资
// //  70~79：返回 考核等级B，奖励1倍工资
// //  60~69：返回 等级C，不奖励，需要继续努力
// //  0~59：返回 考核等级D，考核较差，需要再观察或者劝退


    function sco(score){
        if(score > 90 && score <= 100){
            console.log('考核等级S，奖励3倍工资');
        }else if(score > 80 && score <= 90){
            console.log('考核等级A，奖励2倍工资');
        }else if(score > 70 && score <= 80){
            console.log('考核等级B，奖励1倍工资');
        }else if(score >= 60 && score <= 70){
            console.log('等级C，不奖励，需要继续努力');
        }else{
            console.log('考核等级D，考核较差，需要再观察或者劝退');
        }
    }

        sco(100);


// // 5. 请声明一个函数，传入参数为正整数n，函数内计算n!，并返回结果。
// //  提示：请注意对参数进行校验。
// //  提示：n! = 1 * 2 * 3 * ... * n
    
function cheng(n){
    let chengji = 1;    
    for(let i = 1;i <= n;i++){
            chengji *= i;                       
        }
        return chengji;
}

    console.log(  '乘积为'+cheng(3));

// // 6. 请声明一个函数，传入参数为字符串str，在函数内移除str首尾空格，然后计算长度，并返回长度

function string(str){
    var s = str.trim();
    return s.length;
}

console.log('移除str首尾空格后长度为：' +string(' ss '));



// // // 7. 请声明一个匿名函数，传入参数为数组arr，在函数内对数组进行求和，并返回和。
// // //  调用这个函数，传入数组参数：[10,30,50,22]，打印函数返回结果
var a = function(arr){
    var sums = 0;
    for(var i = 0;i<arr.length;i++){
        sums += arr[i];       
    }
    return sums;
}

console.log('数组和：' + a([10,30,50,22]));


// // 8. 已知一个数组为：[ 1, 4, 3, 2 ]，
// //  请使用数组相关的方法检测元素 3 在数组中是否存在，
// //  存在则在控制打印出相应的下标，否则打印不存在。

function shuzu(arr2,item){
    for(let i=0;i<arr2.length;i++) {
        if(arr2[i] === item) {
            return arr2.indexOf(item);
        }        
    }
    return '不存在';
}

console.log(shuzu([ 1, 4, 3, 2 ],3));


// // 9. 已知一个用户对象为：{id: 1, name: "庄周", desc: "辅助"}，
// //  请尝试声明一个变量表示上面这个对象，
// //  然后给这个对象增加一个性别属性，属性名称为：sex，属性值为：男。
// //  最后在控制台打印这个对象。
var user={
    id: 1,
    name: "庄周", 
    desc: "辅助"
}
console.log(user);



// // 10. 声明一个学生类，包含：姓名（name）、性别（gender）、生日字段（birthday）
// //  实例化一个学生对象，学生相关属性为：
// //      姓名：鬼谷子
// //      性别：男
// //      生日：2002-07-28
// //  实例化完成之后，在控制台打印这个对象。

function Student(name,gender,birthday){
    this.name = name;
    this.gender = gender;
    this.birthday = birthday;
}

// console.log(new Student('鬼谷子','男','2002-07-28'));

var guiguzi = new Student();
guiguzi.name = '鬼谷子';
guiguzi.gender = '男';
guiguzi.birthday = '2002-07-28';

console.log(guiguzi);